package com.whfc.mach.dto.iot;

import lombok.Data;

import java.io.Serializable;
import java.util.List;

/**
 * @Description:
 * @author: xugcheng
 * @version: 1.0
 * @date: 2020-12-10 12:05
 */
@Data
public class MachMsg0x01 implements Serializable {

    /**
     * 硬件终端ID (3-byte)
     */
    private int deviceId;

    private String deviceCode;

    /**
     * 工作状态列表(7*N字节)
     */
    private List<MachWorkState> workStates;

    /**
     * 电池状态(1-byte,1-在充电 2-未充电)
     */
    private int batteryState;

    /**
     * 电池电量(1-byte,百分比)
     */
    private int batteryPower;

    /**
     * 终端温度(2-byte,除以100得到摄氏度)
     */
    private double deviceTemp;

    /**
     * 俯仰角
     */
    private double rotationX;

    /**
     * 航向角
     */
    private double rotationY;

    /**
     * 翻滚角
     */
    private double rotationZ;

    /**
     * 经度标志位(4bit)
     */
    private String lngFlag;

    /**
     * 纬度标志位(4bit)
     */
    private String latFlag;

    /**
     * 经度(4-byte)
     */
    private double lngWgs84;

    /**
     * 纬度(4-byte)
     */
    private double latWgs84;

    /**
     * 压力值(2-byte)
     */
    private double pressure;

    /**
     * 油箱油位(2-byte)
     */
    @Deprecated
    private int oilPos;

    /**
     * 油箱温度(2-byte)
     */
    private double oilTemp;

    /**
     * 油箱状态(1-byte,1-正常,2-打开,3-异常)
     */
    private int oilState;

    /**
     * 油箱盖设备电量(1-byte)
     */
    private int oilPower;

    /**
     * 主机版本号(1.0.0)
     */
    private String masterVer;

    /**
     * 从机版本号(1.0.0)
     */
    private String slaveVer;

    /**
     * 速度(2-byte)
     */
    private Double speed;

    /**
     * 海拔(4-byte)
     */
    private Double elevation;
}
